import request from "../../util/request"

// pages/search/search.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
    },
  // Promise.all用法：传一个promise的数组，当所有的promise都完成（resolved）,回调所有成功的结果，如果有一个回调执行失败，then是不会执行的，则在catch回调第一个失败的结果
    search(value){
        return Promise.all([
            request({
                url:`/categories?title_like=${value}`  //因为我们用的是json-server，所以在它后面加_like可以进行模糊查询;查询title中包含 {value} 的数据
            }),
            request({
                url:`/goods?title_like=${value}`
            })
        ]).then(res=>{
            return [...res[0].map(item=>({
                ...item,
                text:item.title, //加上text的主要目的是使它能显示在页面上
                type:1
            })),...res[1].map(item=>({
                ...item,
                text:item.title,
                type:2
            }))]
        })
    },

    selectResult(e){
        console.log('select result',e.detail.item.type)
        if (e.detail.item.type===1) {
            console.log("搜索列表")
            wx.navigateTo({
              url: `/pages/searchlist/searchlist?id=${e.detail.item.id}&name=${e.detail.item.title}`,
            })
        }else{
            console.log("详情页面")
            wx.navigateTo({
              url: `/pages/detail/detail?id=${e.detail.item.id}&name=${e.detail.item.title}`,
            })
        }
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad() {
        this.setData({
            search:this.search.bind(this)  // 避免找不到search
        })
    },


    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },
 
})